/**
 * Trackpoint.java
 * Version: 1.0
 * Created in 06/08/2013
 * Created by: Gerson Groth
 * 
 * Copyright
 */
package activities.base.tcx;

import java.util.Date;

/**
 * The Class Trackpoint.
 * 
 * @author Gerson Groth
 */
public class Trackpoint {

	/** The time. */
	private Date time;

	/** The position. */
	private Position position;

	/** The altitude. */
	private double altitude;

	/** The distance. */
	private double distance;

	/** The heart rate bpm. */
	private int heartRateBpm;

	/** The extensions. */
	private Extensions extensions;

	/**
	 * Instantiates a new trackpoint.
	 * 
	 * @param time
	 *            the time
	 * @param position
	 *            the position
	 * @param altitude
	 *            the altitude
	 * @param distance
	 *            the distance
	 * @param heartRateBpm
	 *            the heart rate bpm
	 * @param extensions
	 *            the extensions
	 */
	public Trackpoint(Date time, Position position, double altitude,
			double distance, int heartRateBpm, Extensions extensions) {
		super();
		this.time = time;
		this.position = position;
		this.altitude = altitude;
		this.distance = distance;
		this.heartRateBpm = heartRateBpm;
		this.extensions = extensions;
	}

	/**
	 * Gets the time.
	 * 
	 * @return the time
	 */
	public Date getTime() {
		return time;
	}

	/**
	 * Sets the time.
	 * 
	 * @param time
	 *            the new time
	 */
	public void setTime(Date time) {
		this.time = time;
	}

	/**
	 * Gets the position.
	 * 
	 * @return the position
	 */
	public Position getPosition() {
		return position;
	}

	/**
	 * Sets the position.
	 * 
	 * @param position
	 *            the new position
	 */
	public void setPosition(Position position) {
		this.position = position;
	}

	/**
	 * Gets the altitude.
	 * 
	 * @return the altitude
	 */
	public double getAltitude() {
		return altitude;
	}

	/**
	 * Sets the altitude.
	 * 
	 * @param altitude
	 *            the new altitude
	 */
	public void setAltitude(double altitude) {
		this.altitude = altitude;
	}

	/**
	 * Gets the distance.
	 * 
	 * @return the distance in meters
	 */
	public double getDistance() {
		return distance;
	}

	/**
	 * Set the distance in meters.
	 * 
	 * @param distance
	 *            the new distance
	 */
	public void setDistance(double distance) {
		this.distance = distance;
	}

	/**
	 * Gets the heart rate bpm.
	 * 
	 * @return the heart rate bpm
	 */
	public int getHeartRateBpm() {
		return heartRateBpm;
	}

	/**
	 * Sets the heart rate bpm.
	 * 
	 * @param heartRateBpm
	 *            the new heart rate bpm
	 */
	public void setHeartRateBpm(int heartRateBpm) {
		this.heartRateBpm = heartRateBpm;
	}

	/**
	 * Gets the extensions.
	 * 
	 * @return the extensions
	 */
	public Extensions getExtensions() {
		return extensions;
	}

	/**
	 * Sets the extensions.
	 * 
	 * @param extensions
	 *            the new extensions
	 */
	public void setExtensions(Extensions extensions) {
		this.extensions = extensions;
	}

}
